iT邦幫忙

0

Oracle 大量新增帳號方式

  • 分享至 

  • xImage
  •  

Oracle 大量新增帳號方式
二、需要利用Toad 工具修改Oracle資料庫帳號相關設定。
本案例當此帳號密碼過期使用者被鎖定時候,必須使用底下指令修改解鎖及修改密碼
/* 修改帳號解鎖,注意員工編號必須“員工編號” */
alter user “員工編號” account unlock;
/* 修改帳號密碼,注意密碼有區分大小寫 */
alter user “員工編號” identified by “新密碼”;
commit;

三、若是需要大量修改使用者解鎖/上鎖或統一修改密碼,請參照底下語法,提供大量帳號修改方法,產生Alter user 指令碼:

/* 修改大量帳號觧鎖方式 */
select 'alter user ' ||'"' || username || '"' ||
' account unlock;'
from dba_users where account_status <> 'OPEN'

/* 修改大量帳號密碼方式 */
select 'alter user ' || '"'|| username ||'"'||
' identified by "sysgration"' || password || ';'
from dba_users where account_status <> 'OPEN'

四、將修改大量解鎖使用者帳號語法,貼在Toad工具裡面,執行後會產生下列alter語法

五、在Toad Data Grid 中按右鍵選擇Export Dataset

六、選擇要匯出的位置及檔名

七、開啟剛剛Export匯出的EXCEL檔案,整理不需的帳號請注意要選擇對正確帳號,不要選擇錯誤整理完成後,將需要的帳號複製起來

八、將EXCEL複製內容,貼在Toad 裡面,請確認你要修改的區域,確認欲修改的內容無誤後在Toad 按功能鍵F5 執行,完成後請注意要Commit,才代表修改完成,完成後你會發現所有預想解鎖之帳號已經完成無誤。

九、修改密碼方式如同四~八處理方式,只是語法不同請注意。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
一級屠豬士
iT邦大師 1 級 ‧ 2014-02-21 18:45:56

建一個Table放使用者名稱跟密碼,然後用SELECT串接字串,產生.
這樣就不必再用Excel啦.
Oracle自己就資料庫啦.

尼克 iT邦大師 1 級 ‧ 2014-02-21 18:51:27 檢舉

謝謝你的建議。

0
player
iT邦大師 1 級 ‧ 2014-02-21 22:37:34

Oracle 為何要大量新增帳號?
任何的資料庫, 應該都不是讓每一個員工進去直接存取的吧?
而是透過Web應用程式或Windows應用程式去間接使用資料庫
怪怪的?

看更多先前的回應...收起先前的回應...
Albert iT邦高手 1 級 ‧ 2014-02-21 23:11:51 檢舉

nickliao1 大師

會讓 user 大量直接使用 oracle db 帳號
真不簡單可能是練習中心................

在大型團隊裡 iDempiere 或是 Oracle ERP Database 開發機 :: 有可能
在大型團隊裡 iDempiere 或是 Oracle ERP Database 測試機 :: 不太可能
在大型團隊裡 iDempiere 或是 Oracle ERP Database 正式機 :: 絕對不可能

Albert iT邦高手 1 級 ‧ 2014-02-21 23:13:54 檢舉

不小心看到了

原來是 ARGOERP 快暈倒了

Albert iT邦高手 1 級 ‧ 2014-02-21 23:34:59 檢舉

土產 ERP 還是要提昇一下

不同專案有不同開發團隊成員自動開

CURSOR Cur_User (p_project_name VARCHAR2) IS
SELECT username,password,default_ts,temp_ts,default_ts
FROM ibm_oracle_erp_dev_team
WHERE project_name=p_project_name;

FOR p IN Cur_User LOOP
v_CreateUser :=
'CREATE USER '||p.username||' IDENTIFIED BY '||p.password
|| ' DEFAULT TABLESPACE '||p.default_ts
|| ' TEMPORARY TABLESPACE '||p.temp_ts
|| ' QUOTA UNLIMITED ON '||p.default_ts
|| ' ACCOUNT UNLOCK';

EXECUTE IMMEDIATE (v_CreateUser);

-- Grant permissions
EXECUTE IMMEDIATE ('GRANT create session TO '||p.username);
EXECUTE IMMEDIATE ('GRANT connect TO '||p.username);
EXECUTE IMMEDIATE ('GRANT create procedure TO '||p.username);
EXECUTE IMMEDIATE ('GRANT execute ON utl_ref TO '||p.username);
EXECUTE IMMEDIATE ('GRANT create trigger TO '||p.username);
EXECUTE IMMEDIATE ('GRANT resource TO '||username);

END LOOP;

Albert iT邦高手 1 級 ‧ 2014-02-21 23:39:23 檢舉

我要留言

立即登入留言